The present invention relates to the field of mark or symbology readers used to read marks (e.g., symbols, barcodes, text characters including alphanumeric, kanji, etc.) directly on objects, and more specifically to a reader that is configured to reduce the time between activation of the reader's trigger and the reader returning a successful decode response.
Mark or symbology reading (also commonly termed barcode scanning) entails the aiming of an image acquisition sensor (e.g., CMOS camera, CCD, etc.) or vision system (e.g., VSoC) contained within the reader at a location on an object that contains a mark, and acquiring an image of the mark. Marks are known and available in a variety of shapes and sizes, and are designed to contain a set of predetermined patterns that represent an ordered group of characters or shapes. The reader, including an attached data processor (e.g., a microcomputer), can derive useful information about the scanned object (e.g., its serial number, type, model, price, etc.) from the mark.
A handheld reader may be directed to step through various types of image capture parameters when reading each mark, such as adjustments to exposure/gain and/or cycling different illuminators ON and OFF, but this takes time, as does integrating/analyzing the resulting images. Generally, for a reader to be considered efficient, the reading process should take place within 200 milliseconds or less. Stepping through adjustments to exposure/gain and/or illumination types, storing results, comparing, and deriving the a suitable image may exceed desired time limits.
Referring to FIG. 1, the image decoding process in known symbology readers typically works in the following way. The user initiates the image decoding process by actuating a trigger on a handheld symbology reader, as indicated at process block 50. At this point, the reader may or may not be pointing at the mark to be decoded. By actuating the trigger, an illumination source on or within the reader is turned ON at process block 52 to illuminate the mark to be decoded. The user points the reader and associated illumination at the mark to be decoded so as to cause the illumination to reflect off of the intended mark and back to the reader and onto, i.e., to expose, an image acquisition sensor within the reader to acquire an image of the mark, as indicated at process block 54. Optionally, in addition to acquiring the image, the sensed image may be transferred to a memory (e.g., SDRAM), for storage.
Next, a data processor executes a predetermined algorithm on the stored image data to analyze the image, as indicated at process block 56. The algorithm determines if the image data is acceptable (e.g., meets predetermined threshold values for contrast or sharpness, for example) to attempt decoding the image data, or if modifications are needed to sensor parameters (e.g., exposure/gain) and/or other reader parameter settings (e.g., focus, illumination), as indicated at decision block 58. If modifications are needed, the new sensor and/or other reader parameter settings may be calculated and updated, as indicated at process block 60. As indicated at process block 62, a time delay may need to be inserted for the new parameters to take effect e.g., a rolling shutter sensor may need to complete one readout from every sensor “line” (i.e., row of image pixels).
The process of acquiring an image may be repeated at process block 54, now with the new parameters, and again, the algorithm determines if the image data is acceptable to attempt decoding the image data. If the image data is now acceptable, the image data may be decoded or analyzed for the presence of encoded data mark, as indicated at process block 64.
If data encoded within the mark is found and successfully decoded, as indicated at decision block 66, the reader typically will transmit the decoded data by outputting the decoded data (or a variation thereof), and/or actuating some form of user feedback such as a beeper and/or status lights, and turn the illumination OFF, as indicated at process block 68. The process may then be repeated upon activation of the trigger by the user. If the decoding step does not result in a decoded image, the process typically returns to process block 54 to acquire another image for analysis.
While this solution works well in some applications, one drawback to the above described decode process is the extent of time between the user actuating the trigger to initiate the image decoding process and the eventual successful processing of an image. For example, typical sensor to memory transfer times may be about 17 ms (using for example a global sensor APTINA MT9V024), to 33 ms (using for example a rolling shutter APTINA MT9M001). Parameter update delay typical times may be about 5 ms (global sensor) to 33-66 ms (rolling shutter). It is not uncommon for the parameter update process to be repeated at least three to six times, or more, which can result in an undesirable delay of a few hundred milliseconds or more. Moreover, it is recognized that certain aspects of the mark itself can make it difficult to detect or decode it within a limited number of capture events.
A valued usability metric for handheld readers is the trigger-to-decode response time, or the time between the user actuating the trigger to initiate the image decoding process and the reader returning a successful decode response. What is needed is a mark reader with a reduced trigger-to-decode response time.